<!--#set var="title" value="Screenshots" -->
<!--#set var="active-tab" value="Screenshots" -->

<!--#include virtual="/templates.hoc/header.shtml" -->

<h1>Screenshots</h1>

<h2>A Text Editor</h2>

<p>Here's the canonical GUI text editor application, implemented in about 50
lines of Haskell code.</p>

<p class="center">
<a href="screenshots/Editor.png" class="plain">
  <img src="screenshots/Editor.png" width="90%">
</a>
</p>

<p class="center" align="center">
<a href="screenshots/Editor.png">
  (Click to enlarge.)
</a>
<p>

<h2>Class Browser</h2>

<p>This is a small program that comes with HOC which shows you the list of all
known Objective-C <em>selectors</em> (method names).  It shows you the selector
in both Objective-C and Haskell syntax, the type of the Haskell function
produced, and what class (and thus the Haskell module) the selector is defined
in.  This program's approximately 200 lines of code.</p>

<p class="center" align="center">
<a href="screenshots/Browser.png" class="plain">
  <img src="screenshots/Browser.png" width="90%">
</a>
</p>

<p class="center" align="center">
<a href="screenshots/Browser.png">
  (Click to enlarge.)
</a>
<p>

<h2>A Calculator</h2>

<p>Here's a small application which allows you to enter in arithmetic
expressions (e.g. <code>2+5</code> or <code>69*33/3+15</code>) and will
calculate the final result.  The full program is about 75 lines long: about 25
lines for the expression parsing code, and ~50 lines for the GUI.</p>

<p>
<table align="center" border="0" cellpadding="4">
  <tr>
    <td>
      <img src="screenshots/ExpressionParser.png" class="bordered">
    </td>

    <td>
      <img src="screenshots/ExpressionParser_error.png" class="bordered">
    </td>
  </tr>
</table>
</p>

<!--#include virtual="/templates.hoc/footer.shtml" -->

